home *** CD-ROM | disk | FTP | other *** search
- #include <errno.h>
- #include "error.h"
-
- #define X(e,s) if (i == e) return s;
-
- char *error_str(i)
- int i;
- {
- X(0,"no error")
- X(error_intr,"interrupted system call")
- X(error_nomem,"out of memory")
- X(error_noent,"file does not exist")
- X(error_txtbsy,"text busy")
- X(error_io,"input/output error")
- X(error_exist,"file already exists")
- X(error_timeout,"timed out")
- X(error_inprogress,"operation in progress")
- X(error_again,"temporary failure")
- X(error_wouldblock,"input/output would block")
- X(error_pipe,"broken pipe")
- X(error_perm,"permission denied")
- X(error_acces,"access denied")
- #ifdef ESRCH
- X(ESRCH,"no such process")
- #endif
- #ifdef ENXIO
- X(ENXIO,"device not configured")
- #endif
- #ifdef E2BIG
- X(E2BIG,"argument list too long")
- #endif
- #ifdef ENOEXEC
- X(ENOEXEC,"exec format error")
- #endif
- #ifdef EBADF
- X(EBADF,"file descriptor not open")
- #endif
- #ifdef ECHILD
- X(ECHILD,"no child processes")
- #endif
- #ifdef EDEADLK
- X(EDEADLK,"operation would cause deadlock")
- #endif
- #ifdef EFAULT
- X(EFAULT,"bad address")
- #endif
- #ifdef ENOTBLK
- X(ENOTBLK,"not a block device")
- #endif
- #ifdef EBUSY
- X(EBUSY,"device busy")
- #endif
- #ifdef EXDEV
- X(EXDEV,"cross-device link")
- #endif
- #ifdef ENODEV
- X(ENODEV,"device does not support operation")
- #endif
- #ifdef ENOTDIR
- X(ENOTDIR,"not a directory")
- #endif
- #ifdef EISDIR
- X(EISDIR,"is a directory")
- #endif
- #ifdef EINVAL
- X(EINVAL,"invalid argument")
- #endif
- #ifdef ENFILE
- X(ENFILE,"system cannot open more files")
- #endif
- #ifdef EMFILE
- X(EMFILE,"process cannot open more files")
- #endif
- #ifdef ENOTTY
- X(ENOTTY,"not a tty")
- #endif
- #ifdef EFBIG
- X(EFBIG,"file too big")
- #endif
- #ifdef ENOSPC
- X(ENOSPC,"out of disk space")
- #endif
- #ifdef ESPIPE
- X(ESPIPE,"unseekable descriptor")
- #endif
- #ifdef EROFS
- X(EROFS,"read-only file system")
- #endif
- #ifdef EMLINK
- X(EMLINK,"too many links")
- #endif
- #ifdef EDOM
- X(EDOM,"input out of range")
- #endif
- #ifdef ERANGE
- X(ERANGE,"output out of range")
- #endif
- #ifdef EALREADY
- X(EALREADY,"operation already in progress")
- #endif
- #ifdef ENOTSOCK
- X(ENOTSOCK,"not a socket")
- #endif
- #ifdef EDESTADDRREQ
- X(EDESTADDRREQ,"destination address required")
- #endif
- #ifdef EMSGSIZE
- X(EMSGSIZE,"message too long")
- #endif
- #ifdef EPROTOTYPE
- X(EPROTOTYPE,"incorrect protocol type")
- #endif
- #ifdef ENOPROTOOPT
- X(ENOPROTOOPT,"protocol not available")
- #endif
- #ifdef EPROTONOSUPPORT
- X(EPROTONOSUPPORT,"protocol not supported")
- #endif
- #ifdef ESOCKTNOSUPPORT
- X(ESOCKTNOSUPPORT,"socket type not supported")
- #endif
- #ifdef EOPNOTSUPP
- X(EOPNOTSUPP,"operation not supported")
- #endif
- #ifdef EPFNOSUPPORT
- X(EPFNOSUPPORT,"protocol family not supported")
- #endif
- #ifdef EAFNOSUPPORT
- X(EAFNOSUPPORT,"address family not supported")
- #endif
- #ifdef EADDRINUSE
- X(EADDRINUSE,"address already used")
- #endif
- #ifdef EADDRNOTAVAIL
- X(EADDRNOTAVAIL,"address not available")
- #endif
- #ifdef ENETDOWN
- X(ENETDOWN,"network down")
- #endif
- #ifdef ENETUNREACH
- X(ENETUNREACH,"network unreachable")
- #endif
- #ifdef ENETRESET
- X(ENETRESET,"network reset")
- #endif
- #ifdef ECONNABORTED
- X(ECONNABORTED,"connection aborted")
- #endif
- #ifdef ECONNRESET
- X(ECONNRESET,"connection reset")
- #endif
- #ifdef ENOBUFS
- X(ENOBUFS,"out of buffer space")
- #endif
- #ifdef EISCONN
- X(EISCONN,"already connected")
- #endif
- #ifdef ENOTCONN
- X(ENOTCONN,"not connected")
- #endif
- #ifdef ESHUTDOWN
- X(ESHUTDOWN,"socket shut down")
- #endif
- #ifdef ETOOMANYREFS
- X(ETOOMANYREFS,"too many references")
- #endif
- #ifdef ECONNREFUSED
- X(ECONNREFUSED,"connection refused")
- #endif
- #ifdef ELOOP
- X(ELOOP,"symbolic link loop")
- #endif
- #ifdef ENAMETOOLONG
- X(ENAMETOOLONG,"file name too long")
- #endif
- #ifdef EHOSTDOWN
- X(EHOSTDOWN,"host down")
- #endif
- #ifdef EHOSTUNREACH
- X(EHOSTUNREACH,"host unreachable")
- #endif
- #ifdef ENOTEMPTY
- X(ENOTEMPTY,"directory not empty")
- #endif
- #ifdef EPROCLIM
- X(EPROCLIM,"too many processes")
- #endif
- #ifdef EUSERS
- X(EUSERS,"too many users")
- #endif
- #ifdef EDQUOT
- X(EDQUOT,"disk quota exceeded")
- #endif
- #ifdef ESTALE
- X(ESTALE,"stale NFS file handle")
- #endif
- #ifdef EREMOTE
- X(EREMOTE,"too many levels of remote in path")
- #endif
- #ifdef EBADRPC
- X(EBADRPC,"RPC structure is bad")
- #endif
- #ifdef ERPCMISMATCH
- X(ERPCMISMATCH,"RPC version mismatch")
- #endif
- #ifdef EPROGUNAVAIL
- X(EPROGUNAVAIL,"RPC program unavailable")
- #endif
- #ifdef EPROGMISMATCH
- X(EPROGMISMATCH,"program version mismatch")
- #endif
- #ifdef EPROCUNAVAIL
- X(EPROCUNAVAIL,"bad procedure for program")
- #endif
- #ifdef ENOLCK
- X(ENOLCK,"no locks available")
- #endif
- #ifdef ENOSYS
- X(ENOSYS,"system call not available")
- #endif
- #ifdef EFTYPE
- X(EFTYPE,"bad file type")
- #endif
- #ifdef EAUTH
- X(EAUTH,"authentication error")
- #endif
- #ifdef ENEEDAUTH
- X(ENEEDAUTH,"not authenticated")
- #endif
- #ifdef ENOSTR
- X(ENOSTR,"not a stream device")
- #endif
- #ifdef ETIME
- X(ETIME,"timer expired")
- #endif
- #ifdef ENOSR
- X(ENOSR,"out of stream resources")
- #endif
- #ifdef ENOMSG
- X(ENOMSG,"no message of desired type")
- #endif
- #ifdef EBADMSG
- X(EBADMSG,"bad message type")
- #endif
- #ifdef EIDRM
- X(EIDRM,"identifier removed")
- #endif
- #ifdef ENONET
- X(ENONET,"machine not on network")
- #endif
- #ifdef ERREMOTE
- X(ERREMOTE,"object not local")
- #endif
- #ifdef ENOLINK
- X(ENOLINK,"link severed")
- #endif
- #ifdef EADV
- X(EADV,"advertise error")
- #endif
- #ifdef ESRMNT
- X(ESRMNT,"srmount error")
- #endif
- #ifdef ECOMM
- X(ECOMM,"communication error")
- #endif
- #ifdef EPROTO
- X(EPROTO,"protocol error")
- #endif
- #ifdef EMULTIHOP
- X(EMULTIHOP,"multihop attempted")
- #endif
- #ifdef EREMCHG
- X(EREMCHG,"remote address changed")
- #endif
- return "unknown error";
- }
-